//#include "PrePostCondition.h"
#include <iostream>
#include <string>
#include <time.h>
#include <list>
#pragma once
#define invited 0
#define going 1
#define notgoing 2
#define empty_person -1
using namespace std;
struct person
{
public :
	person()
	{
		next = 0;
		State = empty_person;
	};
	char name[30];
	int State;
	person* next;
};
class event
{
private :
	char name[50];
	tm start_time , end_time ;//we'll use (asctime) or (strftime) to display it as string
	//to remember the members of this type : http://www.cplusplus.com/reference/ctime/tm/
	person* people;
	person* findperson(char* name_);
public :
	int getpeoplenum();

	event(char name_[50] , int start_hour , int start_minute , int start_day , int start_month , int start_year  , int end_hour , int end_minute , int end_day, int end_month, int end_year );
	
	void Invitepeople( char** people, int num);
	
	char* getstarttime();
	
	char* getendtime();
	char* geteventname(){return name;};
	
	char** getinvitedpeople();
	
	void edit_start(int hour, int minute, int day, int month, int year);
	
	void edit_end(int hour, int minute, int day, int month, int year);
	
	void goingperson(char* one);
	
	void notgoingperson(char *one );
	event(const event & N);
	~event();
};